package xin.marcher.module.seller.api;

import xin.marcher.module.common.core.JsonResult;
import xin.marcher.module.common.core.PageResult;
import xin.marcher.module.seller.domain.request.SellerGroupRequest;
import xin.marcher.module.seller.domain.request.SellerInfoRequest;
import xin.marcher.module.seller.domain.response.SellerGroupResponse;
import xin.marcher.module.seller.domain.response.SellerInfoResponse;

import java.util.List;

/**
 * 卖家能力API
 */
public interface SellerAbilityApi {

    /**
     * 分页查询卖家组
     *
     * @param sellerGroupRequest
     * @return xin.marcher.module.common.core.JsonResult<xin.marcher.module.common.core.PageResult < SellerGroupResponse>>
     */
    JsonResult<PageResult<SellerGroupResponse>> getSellerGroupList(SellerGroupRequest sellerGroupRequest);


    /**
     * 根据卖家ID和卖家类型获取卖家信息
     *
     * @param sellerInfoRequest
     * @return xin.marcher.module.common.core.JsonResult<java.util.List < SellerInfoResponse>>
     */
    JsonResult<List<SellerInfoResponse>> getSellerInfo(SellerInfoRequest sellerInfoRequest);

    /**
     * 查询出所有的子卖家的sellerId
     *
     * @param sellerInfoRequest
     * @return
     */
    JsonResult<List<Long>> getChildSellerIdList(SellerInfoRequest sellerInfoRequest);


}
